package com.bnz.controller;

import com.bnz.pojo.Emp;
import com.bnz.pojo.PageResult;
import com.bnz.pojo.R;
import com.bnz.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.context.annotation.RequestScope;

import java.util.List;

//@CrossOrigin
@RestController
@RequestMapping("/emp")
public class EmpController {
    @Autowired
    private EmpService empService;
    // 1. 查询所有员工
    @RequestMapping("/list")
    public R findAll(){
        // 1.1 查询所有员工
        List<Emp> emps = empService.findAll();
        // 1.2 返回
        return R.ok().put("list",emps);
    }
    // 2. 分页查询
    @RequestMapping("/findByPage")
    public R findByPage(int page, int pageSize){
        // 2.1 分页查询所有员工
        PageResult<Emp> pageResult = empService.findByPage(page,pageSize);
        // 2.2 返回
        return R.ok().put("pr",pageResult);
    }
    // 3. 条件查询带分页
    // @RequestBody 将json转换为java对象
    // @ResponseBody 将后端的Java对象转换为字符串
    @RequestMapping("/search")
    public R search(int page, int pageSize,@RequestBody Emp emp){
        // 3.1 条件查询带分页
        PageResult<Emp> pageResult= empService.search(page,pageSize,emp);
        // 3.2 返回
        return R.ok().put("pr",pageResult);
    }
    // 4. 添加员工
    @RequestMapping("/add")
    public R add(@RequestBody Emp emp){
        // 4.1 添加员工
        empService.add(emp);
        // 4.2 返回
        return R.ok().put("message","添加员工成功！");
    }
    // 5. 修改员工
    @RequestMapping("/update")
    public R update(@RequestBody Emp emp){
        // 5.1 修改员工
        empService.update(emp);
        // 5.2 返回
        return R.ok().put("message","修改员工成功！");
    }
    // 6. 删除员工
    @RequestMapping("/delete")
    public R delete(@RequestBody List<String> eids){
        // 6.1 删除员工
        empService.delete(eids);
        return R.ok().put("message","删除员工成功！");
    }
}
